<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        //了解即可，为了后边学习iterator做铺垫 (用于框架封装)
        //symbol是ES6中新增的一种（原始）数据类型
        //symbol表示一个独一无二的值，一般当作对象的键使用
        //symbol通过Symbol函数调用创建
        // 语法：Symbol([标识符]);

        console.log(Symbol);


        // 1.基本使用
        let sym1 = Symbol();
        console.log(sym1, typeof sym1); //Symbol() 'symbol'


        // 2.独一无二的值
        let sym2 = Symbol();
        console.log(sym2);
        console.log(sym1 == sym2);
        console.log(sym2 == sym2); //自己等于自己


        // 3.不参与运算 (报错)
        // console.log(sym2 + 10); //TypeError: Cannot convert a Symbol value to a number


        // 4.symbol标识符（描述符） (方便区分是哪个symbol数据)
        // console.log(sym1,sym2);
        let sym3 = Symbol('username');
        let sym4 = Symbol('userage');
        console.log(sym3, sym4);
    </script>
</body>

</html>